package org.sems.sems.service;

import org.apache.ibatis.annotations.Select;
import org.sems.sems.entity.DataGwdmk;
import org.sems.sems.entity.Gwbqk;
import org.sems.sems.entity.Gwqsk;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * 岗位代码库(DataGwdmk)表服务接口
 *
 * @author makejava
 * @since 2024-12-05 23:23:31
 */
public interface DataGwdmkService {


    /**
     * 获取所有岗位代码
     */
    Map<String, Object> getDataGwdmk();


    /**
     * @param num 前num个火热岗位
     *            获取火热岗位：前7个
     */
    Map<String, Object> getHotDataGwdmk(int num);

    /**
     * 停用岗位代码
     *
     * @param id 岗位代码id
     */
    Map<String, Object> endUsingGangWei(int id);

    /**
     * 启用岗位代码
     *
     * @param id 岗位代码id
     */
    Map<String, Object> startUsingGangWei(Integer id);


    /**
     * 更新岗位信息
     */
    Map<String, Object> updateGangWei(DataGwdmk dataGwdmk);


    /**
     * 新增岗位信息
     */
    Map<String, Object> addGangWei(DataGwdmk dataGwdmk);

    /**
     * 根据是否启用获取岗位信息
     *
     * @param isQy 是否启用：1启用，0停用
     */
    Map<String, Object> getDataGwdmkByisQy(Integer isQy);

    /**
     * 根据岗位代码id获取岗位信息
     *
     * @param id 岗位代码id
     */
    Map<String, Object> getGwdmById(Integer id);

    /**
     * 根据发布者用户名获取岗位信息
     *
     * @param fbzyhm
     * @return
     */
    Map<String, Object> getDataGwdmkByFbz(String fbzyhm);

    /**
     * 上传岗位图片
     *
     * @param files
     * @return Map<String, Object>
     */
    Map<String, Object> uploadGangWeiHuanJingImg(MultipartFile[] files);

    /**
     * 统一接口获取岗位信息
     */
    Map<String, Object> getGwdmkDataToInterface(
            int IsJustOne,//是否只是获取一条
            int gwdm,// 当@IsJustOne为1时，此参数才有用
            int QYDM,// 1时只获取启用的，0 只获取未启用的，2 获取全部
            int IsByFBZ,// 是否通过发布者获取
            String FBZ, // 发布者  ，@IsByFBZ为1时有效
            int SXBZ,   //实习标志，1只获取实习，0 只获取正式岗位，2全部
            int SHBZ   // 审核标志，1只获取待审核，0 只获取已审核，2全部
    );
    /**
     * 获取待审核岗位数据
     */
    Map<String, Object> getDshJobdata(String YHM,int YHSFDM);


    /**
     * 岗位弃审核
     */
    Map<String, Object> GwqsService(Gwqsk gwqsk);
    /**
     * 获取审核不通过的岗位数据
     */
    Map<String, Object> getNoPassJopData(String yhm, int yhsfdm);
    /**
     * 删除岗位信息
     * @param id 岗位代码id
     * @return Map<String, Object>
     */
    Map<String, Object> deleteGangWei(Integer id);
    /**
     * 删除岗位需求
     * @param gwdm 岗位代码id
     * @return Map<String, Object>
     */
    Map<String, Object> deleteGwqs(int gwdm);
    /**
     * 新增岗位标签
     * @param gwbqk 岗位需求
     * @return Map<String, Object>
     */
    Map<String, Object> addGangWeiLabel(Gwbqk gwbqk);

    Map<String, Object> getAllGangWeiLabel();

    /**
     * 获取岗位标签
     * @param gwdm 岗位代码id
     * @return Map<String, Object>
     */
    Map<String, Object> getGangWeiLabel(Integer gwdm);
}
